Данное домашнее задание посвящено схеме базе данных, связанной с футбольным командами. Схема расположена в hw_diagram.jpg
Позиции игроков id - уникальный идентификатор позиции Name - Название таблицы
Таблица тренеров id - уникальный идентификатор тренера Name - имя тренера
Таблица команд id - уникальный идентификатор команды Name - имя команды Location - расположение команды Coach_id - идентификатор тренера
Таблица игроков Id - уникальный идентификатор игрока Name - имя игрока Age - возраст игрока Position_id - идентификатор позиции Team_id - идентификатор команды Start_date - дата начала игры в команде
Архив по игрокам (информация о том, в какой команде игрок играл ранее) player_id - идентификатор игрока team_id - идентификатор команды start_date - дата начала игры end_date - дата окончания игры
In [ ]:
In [ ]:
In [ ]:
In [ ]:
Написать функцию, осуществляющую обновление информации о команде. У функции на входе должен быть один обязательный параметр - название команды и два необязательных параметра - имя тренера и местоположение. При этом хотя бы один из необязательных параметров должен быть заполнен. Функция должна обновлять значение переданных необязательных параметров.
После написания функции вызовите данную функцию несколько раз
In [ ]:
Написать функцию, осуществляющую добавление нового футболиста в таблицу игроков. На входе (имя, возраст, название позиции, название команды, дата перехода в команду(необязательный параметр)). Если дата перехода не указана, то нужно использовать текущую дату. Предусмотреть различные ошибки (такие как неверное имя позиции, неверное название команды, возраст < 10 и > 50 и т.п.)
После написания функции необходимо добавить несколько игроков.
In [ ]:
Написать функцию для перевода игрока в другую команду. Данная функция должна осуществить архивирование текущей записи в таблице игроков в таблицу players_archive с заполнение end_date - датой начала игры за новую команду - 1 день. А также осуществлять изменение поля в таблице Players. При возникновении ошибки должен осуществляться полный откат транзакции.
In [ ]: